The present invention relates to an interface for managing information exchanges on a communications bus between at least one control unit and peripheral units, or between said peripheral units.
The invention is applicable to the transfer of information between a control or processing unit and peripheral units, or between said peripheral units in real time, by means of an information exchange bus.
There are several real time levels:
the real time of the user or the true external time, which is linked with the performance of a process to be controlled and/or measured,
the real time of information resulting from "simple" calculations, being linked with the performance of a program and consequently with the hardware structures of computers--it has inherent imprecisions,
the real time involved in interfaces, which is synchronous with the external process and asynchronous with the computer and this real time must make the interface transparent to the actions of the computer.
The differences between these three notions of real time become more marked as the necessary time scale becomes short (all the problems being aggravated for a precision better than 1 millisecond).
The invention is more particularly applicable to the transfer of digital data between a control unit and peripheral units, by means of a bus, said peripheral units being e.g. constituted by equipment for measuring or controlling experimental or industrial processes.
It is known that there are numerous interfaces for the exchange information on a communications bus between a control unit and peripheral units, e.g. constituted by measuring equipment, or between said peripheral units. Thus, each designer of peripheral equipment or measuring equipment, supplies an interface enabling said measuring apparatus to be connected to a communications bus for exchanging information with a control unit, or with other peripheral units. With such interfaces, it is difficult to choose high-performance hardware, having reasonable operating and programming complexity at a reasonable cost.
Generally, the management interfaces for information exchanges on a communications bus between a control unit and peripheral units, require the use of a minicomputer or a microcomputer, making it possible to manage these exchanges, by means of logic circuits for connection to the communications bus. In general, the hardware and software structures used vary widely and each designer creates or modifies the interface and the management languages, as a function of the applications which he requires. The use of languages with high classical levels (such as Fortran) is exceptional and many interfaces are in fact similar to assembler-programmable automatons, which are difficult to modify for use in applications other than that initially provided.
The processing of data from a peripheral unit, such as e.g. a measuring apparatus, is never carried out in real time, when several peripheral units are connected to the same communications bus, unless an external synchronization device is provided.
Thus, existing interfaces are usually specific, relatively unsatisfactory for managing e.g. digital measurement results in real time and are difficult to adapt to a reasonable cost structure.
The known interfaces can be classified in three categories:
the interfaces oriented towards a scientific application (analytical, research and similar laboratories),
modular interfaces making it possible to connect peripheral units to a specialized bus,
the interfaces using the bus of a central processing unit.
The interfaces of the first category make it possible to automate the operation of a measuring apparatus, such as a spectrograph, an electrochemical measuring apparatus, a signal processing apparatus, etc.
All these interfaces are very specific and they have functions which are very precisely defined by the manufacturer. It is difficult, or even impossible to modify or adapt then to an even slightly different application. In general, the processor which manages the information exchanges across said interface cannot be used independently. This interface can have good performance levels for a particular application but, as has been indicated hereinbefore, has little flexibility.
Programmable automatons are included among the interfaces of this first category. These automatons are oriented even more towards certain industrial control functions, or may be completely allocated to a special task. They are also very difficult to modify, are relatively unadaptable to the measuring equipment of a research laboratory and often cannot be used in real time.
The modular interfaces of the second category permit data exchanges on a specialized bus and in reality constitutes a simple communications link between various points. For example, these interfaces can be as defined in standard IEEE 488. They permit parallel information communications between two autonomous information units. These interfaces are generally used in a modal system in which any communications pass through a master controller. The data transfer rate is relatively limited, although the programming of these transfers can be performed on the basis of well-developed languages.
In standards which define the interfaces of the second category, the problem of real time synchronization has not been solved. It is not possible to modify the interface, unless this is provided by the designer. These interfaces are very difficult to install on hardware for which the interfaces were not designed because they are defined by a standard.
Thus, the interfaces of the second category are very onerous, are not well adapted to industry and are very restrictive for their use in the laboratory. Thus, the interface defined by IEEE standard 488 is only a system for the interconnection of conventional instruments with a controller computer, particularly adapted to the transfer of large data blocks.
Another example of an interface of this category is defined in the CAMAC standard and is a far from new concept. It has a typical, but nodal modular structure and an excessively arborescent addressing. The software for managing it is therefore very heavy and requires large informatics hardware, the operating speed is only moderate and it is only possible to synchronize this interface in real time in an external manner. The management of interruptions and priorities is very complex, so that this interface is very costly, is little used in laboratories and in industry, although it is efficient for punctiform transfer.
The interfaces of the third category which use a bus connected to a master processor, are modular systems which can be connected to the bus of a microcomputer or minicomputer.
The interfaces of this third category are limited with regards to the possibilities of modification and/or extension. Their programming is very specific to each manufacturer and for each special application and it is not possible to use them in real time, without significantly changing the software or hardware structure provided by the manufacturer. This third category also includes modular interfaces based on specific "buses" (e.g. S100), which make them incompatible with one another. They are controlled by a microprocessor and their programming often takes place in an assembler. It is difficult or even impossible to adapt them to synchronous real time.